package com.dayu.behavior.iterator;

/**
 * 迭代器模式：迭代器，大家应该平时工作中用的也不少吧
 * 这种模式就是用于访问集合对象的元素，不需要知道集合对象的底层表示
 *
 */
public class IteratorTest {

    /**
     * 使用场景：
     * 1、访问一个聚合对象的内容而无须暴露它的内部表示。
     * 2、需要为聚合对象提供多种遍历方式。
     * 3、为遍历不同的聚合结构提供一个统一的接口。
     */

    /**
     * 这个其实最直接的例子，就是平时我们用的各种集合中的iterator的遍历
     */

    public static void main(String[] args) {
        NameRepository namesRepository = new NameRepository();

        for(Iterator iter = namesRepository.getIterator(); iter.hasNext();){
            String name = (String)iter.next();
            System.out.println("Name : " + name);
        }
    }


}
